namespace JamesKovacs.Examples.ContractManager {
	/// <summary>
	/// Abstract base class representing different strategies for recognizing revenue.
	/// </summary>
	public abstract class RecognitionStrategy {
		#region Methods
		/// <summary>
		/// Calculates the revenue recognitions for a contract.
		/// </summary>
		/// <param name="contract">Contract on which to recognize revenues.</param>
		public abstract void CalculateRevenueRecognitions(Contract contract);
		#endregion
	}
}
